package com.example.mantenimientovehiculo.repostaje;

import java.io.Serializable;
import java.text.DateFormatSymbols;

import android.widget.DatePicker;

public class Repostaje implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = -1464825423708425827L;
	private Integer id_historicorepostar = 0;
	private String sFecha = "";
	private Integer iKilometros = 0;
	private Double dblLitros = 0.0;
	private Double dblPrecio = 0.0;
	private Boolean bDepositoLleno = false;
	
	public Boolean getbDepositoLleno() {
		return bDepositoLleno;
	}
	public Integer getiDepositoLleno() {
		if (bDepositoLleno){
			return 1;
		}else{
			return 0;
		}
		
	}
	public void setbDepositoLleno(Boolean bDepositoLleno) {
		this.bDepositoLleno = bDepositoLleno;
	}
	public void setbDepositoLleno(Integer bDepositoLleno) {
		if (bDepositoLleno == 1){
			this.bDepositoLleno = true;
		}else{
			this.bDepositoLleno = false;
		}
		
	}

	public Integer getId_historicorepostar() {
		return id_historicorepostar;
	}

	public void setId_historicorepostar(Integer id_historicorepostar) {
		this.id_historicorepostar = id_historicorepostar;
	}

	public String getsFecha() {
		return sFecha;
	}

	public void setsFecha(String sFecha) {
		this.sFecha = sFecha;
	}

	public Integer getiKilometros() {
		return iKilometros;
	}

	public void setiKilometros(Integer iKilometros) {
		this.iKilometros = iKilometros;
	}

	public Double getDblLitros() {
		return dblLitros;
	}

	public void setDblLitros(Double dblLitros) {
		this.dblLitros = dblLitros;
	}

	public Double getDblPrecio() {
		return dblPrecio;
	}

	public void setDblPrecio(Double dblPrecio) {
		this.dblPrecio = dblPrecio;
	}

	public Double getPrecioTotalRepostar() {
		return dblPrecio * dblLitros;
	}

	public Repostaje(String sFecha, Integer iKilometros, Double dblLitros,
			Double dblPrecio, Boolean bDepoLleno) {
		super();
		this.sFecha = sFecha;
		this.iKilometros = iKilometros;
		this.dblLitros = dblLitros;
		this.dblPrecio = dblPrecio;
		this.bDepositoLleno = bDepoLleno;
	}
	public Repostaje(String sFecha, Integer iKilometros, Double dblLitros,
			Double dblPrecio, Integer bDepoLleno) {
		super();
		this.sFecha = sFecha;
		this.iKilometros = iKilometros;
		this.dblLitros = dblLitros;
		this.dblPrecio = dblPrecio;
		if (bDepoLleno == 1){
			this.bDepositoLleno = true;
		}else{
			this.bDepositoLleno = false;
		}		
	}

	public Repostaje() {
		super();
		// TODO Ap�ndice de constructor generado autom�ticamente
	}

	/**
	 * Devuelve una fecha en formato AAAAMMDD a DD/MM/AAAA
	 * 
	 * @param fechaEntrada
	 * @return fechaFinal
	 */
	public static String FormateaFecha(String fechaEntrada) {
		String fechaFinal = "";

		try {
			if (fechaEntrada.length() == 8) {
				String ano = fechaEntrada.substring(0, 4);
				String mes = fechaEntrada.substring(4, 6);
				String dia = fechaEntrada.substring(6);
				mes = new DateFormatSymbols().getMonths()[Integer.parseInt(mes) - 1];
				fechaFinal = dia + "/" + mes + "/" + ano;
			} else {
				String ano = fechaEntrada.substring(0, 4);
				String mes = fechaEntrada.substring(4, 5);
				String dia = fechaEntrada.substring(5);
				mes = new DateFormatSymbols().getMonths()[Integer.parseInt(mes) - 1];
				fechaFinal = "0" + dia + "/" + mes + "/" + ano;
			}
		} catch (Exception e) {
			// Puede ser que este mal guardada la fecha. Asi que lo primero miro
			// la longitud de la cadena

			// TODO: handle exception
		}
		return fechaFinal;
	}

	/**
	 * Funcion que nos devuelve la fecha del date picker, en un string con el
	 * formato 'AAAAMMDD'
	 * 
	 * @return
	 */
	public static String recuperaFecha(DatePicker fecha) {

		Integer iMes = fecha.getMonth() + 1;
		String sMes = "";
		if (iMes < 10) {
			sMes = "0" + iMes;
		} else {
			sMes += iMes;
		}

		Integer iDia = fecha.getDayOfMonth();
		String sDia = "";
		if (iDia < 10) {
			sDia = "0" + iDia;
		} else {
			sDia += iDia;
		}

		return fecha.getYear() + sMes + sDia;
	}
}
